package com.supermarket.service;

import com.supermarket.dto.LoginDto;
import com.supermarket.dto.UserPageQueryDto;
import com.supermarket.entity.User;
import com.supermarket.utils.PageResult;
import com.supermarket.vo.LoginVo;

public interface UserService {
    /**
     * 用户登陆
     * @param loginDto
     * @return
     */
    LoginVo login(LoginDto loginDto);

    /**
     * 用户分页查询
     * @param userPageQueryDto
     * @return
     */
    PageResult list(UserPageQueryDto userPageQueryDto);

    /**
     * 新增用户
     * @param user
     */
    void addUser(User user);

    /**
     * 修改用户
     * @param user
     */
    void updateUser(User user);

    /**
     * 根据id删除用户
     * @param id
     */
    void deleteUserById(Long id);

    /**
     * 启用/禁用员工
     * @param status
     * @param id
     */
    void enableOrDisable(Integer status, Long id);

    /**
     * 用户退出
     * @param token
     */
    void logout(String token);


    User getByUserId(Long id);
}
